微信小程序 push => 构建 => 上传,一条龙服务
September 09, 2020
微信小程序持续集成还是有很多坑的,我先把整个流程梳理下,后面再讲坑
因为小程序只有 mac,和window 开发工具,所以做持续集成需要用到 window 服务器,所以你需要找你们的运维配置一台 window 服务器,然后配置好 gitlab-runner
微信开发者工具配置
- 使用你的微信账号登录开发者工具
- 在左上角一排 toolbar 找到 设置 -> 安全 -> 服务端口 -> 开启

这个开启后,就能在终端通过这个端口号调用小程序开发者工具的接口了
配置 gitlab-ci.yml
stages:
- build
- deploy
build_job:
stage: build
only:
- master
tags:
# tags 指定 runner,因为有很多个 gitlab runner,而且都是 lunix,
#你需要用到 window 那台机器,这个不知道咋配的时候,可以问问运维
- window
script:
- npm run build # 如果是 uniapp 或者 其他类似,需要构建的,要用这个命令,如果是原生的,不需要这个
deploy:
stage: deploy
only:
- master
tags:
- window
script:
- C:\xxx\wechatDevTool\cli.bat -u 0.1.0 --upload-desc 最新的描述 # 这里使用微信开发者工具提供的命令行工具进行上传体验
基本这样配置好后, 你 push 代码就会自动 调用 微信开发者工具 上传体验包了
坑你没商量
window 下shell 默认用的是 cmd,但是,官方文档写着 cmd支持不够完全,最好用 powershell, runner 配置如下
[[runners]]
name = "win-runner"
executor = "shell"
shell = "powershell"
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
不用powershell 你会发现你的script 会只执行一部分,你可能便于脚本通用性,会用 git bash 执行,这又是一个大坑,老老实实用powershell,会少好多坑, 过来人经验
2. 默认是在 system用户下跑脚本,但你的大部分程序是在 Administrator 下执行的,所以跑runner的时候记得带上 用户,设置如下
.\gitlab-runner.exe run --user Administrator